﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Giris : System.Web.UI.Page
{
    protected void Page_PreRender(object sender, EventArgs e)
    {
        DilDegistir();
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (QueryString.Cikis == 1)
            {
                Sessions.UyeId = -1;
                Session.Abandon();
                Response.Redirect(Page.GetRouteUrl("AnaSayfa", new { }));
            }

            if (Request.Cookies["Uye"] != null)
            {
                txtEPosta.Text = Request.Cookies["Uye"].Values["EPosta"];
                txtParola.Attributes["Value"] = Request.Cookies["Uye"].Values["Parola"];
                cbBeniHatirla.Checked = true;
            }
        }
    }

    protected void DilDegistir()
    {

        if (Cookies.Dil == "TR")
        {
            lblUyeGirisi.Text = "Üye Girişi";
            lbSifreGonder.Text = "Şifremi Unuttum";
            txtEPosta.Attributes["placeholder"] = "E-posta Adresiniz";
            txtParola.Attributes["placeholder"] = "Şifreniz";
            cbBeniHatirla.Text = "Beni Hatırla";
            lblUyeDegil.Text = "Üye Değilseniz!";
            lblYeniUye.Text = "Yeni Üyelik için Tıklayınız";
            btnGiris.Text = "Giriş";
        }
        else
        {
            lblUyeGirisi.Text = "Log In";
            lbSifreGonder.Text = "Remember Password";
            txtEPosta.Attributes["placeholder"] = "E-Mail Address";
            txtParola.Attributes["placeholder"] = "Password";
            cbBeniHatirla.Text = "Remember Me";
            lblUyeDegil.Text = "If you don't have account !";
            lblYeniUye.Text = "Click for new account";
            btnGiris.Text = "Log In";
        }
    }
    protected void btnGiris_Click(object sender, EventArgs e)
    {
        bool TurkceMi = Cookies.Dil == "TR";
        try
        {
            DataTable dtUye = DataAccess.GetUyeDogrulama(txtEPosta.Text, txtParola.Text);
            if (dtUye.Rows.Count > 0)
            {
                DataRow drUye = dtUye.Rows[0];

                bool DogrulandiMi = (bool)drUye["DogrulandiMi"];
                if (!DogrulandiMi)
                {
                    loginalert.Style.Add("display", "normal");
                    loginalert.InnerHtml = TurkceMi ? "Üyelik aktivasyonunuz tamamlanmamış. Lütfen size göderilen aktivasyon mailiyle üyeliğinizi tamamlayın !"
                        : "Your account hasn't been activated. Please activate by activation mail !";
                    //lblInfo.Text = "Üyelik aktivasyonunuz tamamlanmamış. Lütfen size göderilen aktivasyon mailiyle üyeliğinizi tamamlayın";
                    return;
                }
                int SepetAdet = Convert.ToInt16(drUye["SepetAdet"]);
                int BegeniAdet = Convert.ToInt16(drUye["BegeniAdet"]);


                Sessions.UyeId = (int)drUye["UyeId"];
                Sessions.Ad = drUye["Ad"].ToString() + " " + drUye["Soyad"].ToString();
                Sessions.Cinsiyet = Convert.ToInt16(drUye["Cinsiyet"]);
                Sessions.EPosta = drUye["EPosta"].ToString();
                Sessions.SepetAdedi = SepetAdet;
                Sessions.BegeniAdedi = BegeniAdet;
                Sessions.ToptanMusterimi = drUye["ToptanMusterimi"].ToIntZero();

                (this.Master as Skala).SepetAdediGuncelle(SepetAdet);
                (this.Master as Skala).BegeniGuncelle(BegeniAdet);

                //HttpCookie SepetCookie = new HttpCookie("Sepet");
                //SepetCookie.Values["SepetAdet"] = drUye["SepetAdet"].ToString();
                //SepetCookie.Values["BegeniAdet"] = drUye["BegeniAdet"].ToString();
                //SepetCookie.Expires = DateTime.Now.AddDays(1);
                //Response.Cookies.Add(SepetCookie);


                //if (Request.Cookies["AnonimUye"] != null)
                //{
                //    HttpCookie AnonimUyeCookie = new HttpCookie("AnonimUye");
                //    AnonimUyeCookie.Expires = DateTime.Now.AddDays(-1);
                //    Response.Cookies.Add(AnonimUyeCookie);
                //}

                if (cbBeniHatirla.Checked)
                {
                    HttpCookie UyeCookie = new HttpCookie("Uye");
                    UyeCookie.Values["EPosta"] = txtEPosta.Text;
                    UyeCookie.Values["Parola"] = txtParola.Text;
                    UyeCookie.Expires = DateTime.Now.AddMonths(1);
                    Response.Cookies.Add(UyeCookie);
                }
                else
                {
                    if (Request.Cookies["Uye"] != null)
                    {
                        HttpCookie myCookie = new HttpCookie("Uye");
                        myCookie.Expires = DateTime.Now.AddDays(-1);
                        Response.Cookies.Add(myCookie);
                    }
                }



                Response.Redirect(Page.GetRouteUrl("AnaSayfa", new { }));
            }
            else
            {
                loginalert.Style.Add("display", "normal");
                loginalert.InnerHtml = TurkceMi ? "Email yada şifre hatalı. Tekrar deneyin !" : "Wrong E-mail or password !";
                //lblInfo.Text = "Email yada şifre hatalı. Tekrar deneyin !";
            }
        }
        catch (Exception ex)
        {
            loginalert.Style.Add("display", "normal");
            loginalert.InnerHtml = TurkceMi ? "Tekrar deneyin !" : "Try again !";

            //lblInfo.Text = "Tekrar deneyin !";
        }
    }
    protected void lbSifreGonder_Click(object sender, EventArgs e)
    {
        btnGonder.Style.Add("display", "normal");
        btnGiris.Style.Add("display", "none");
        divBeniHatirla.Style.Add("display", "none");
        divParola.Style.Add("display", "none");
        
    }
    protected void btnGonder_Click(object sender, EventArgs e)
    {
        bool TurkceMi = Cookies.Dil == "TR";
        if (txtEPosta.Text == "")
        {
            loginalert.Style.Add("display", "normal");
            loginalert.InnerHtml = TurkceMi ? "Lütfen EPosta adresinizi girip tekrar deneyin" : "Please enter your e-mail address !";
        }
        else
        {
            DataTable dtEPosta = DataAccess.CheckUyeVarmi(txtEPosta.Text);
            if (dtEPosta.Rows.Count == 0)
            {
                loginalert.Style.Add("display", "normal");
                loginalert.InnerHtml = TurkceMi ? "Girdiğiniz EPosta sistemimizde kayıtlı değil" : "E-mail address that you have entered is not registered in our system";
            }
            else
            {
                string Kime = dtEPosta.Rows[0]["EPosta"].ToString();
                string ParolaYenileme = dtEPosta.Rows[0]["ParolaYenilemeKodu"].ToString();
                string Baslik = TurkceMi ? "Skala Şifre Yenileme" : "Skala Password Recovery";
                string Icerik1 = TurkceMi ? "Parolanızı yenilemek için aşağıdaki linki tıklayınız" : "Click link below to change your password";
                string Icerik = @Icerik1+" : <br><br> http://deneme.skaladeri.com.tr/ParolaYenileme.aspx?Id=" + ParolaYenileme;

                bool Aktivasyon = EPosta.EPostaGonder(Kime, Baslik, Icerik);

                if (Aktivasyon)
                {
                    loginalert.Attributes["class"] = "alert alert-success";
                    loginalert.Style.Add("display", "normal");
                    loginalert.InnerText = TurkceMi ? "Parola yenileme linki EPosta adresinize göderilmiştir." : "Password recovery link has been sent to your e-mail address";
                }
                else
                {
                    loginalert.Style.Add("display", "normal");
                    loginalert.InnerText = TurkceMi ? "Parola yenileme maili gitmedi. Lütfen tekrar deneyin" : "Password recovery e-mail has not been sent. Please try again ";
                }
            }
        }
    }
}